/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package datasource.bmp;

/**
 *
 * @author Fabian
 */
public class BitmapV5InfoHeader extends DIBHeader {

    public static long BI_RGB = 0;
    public static long BI_RLE8 = 1;
    public static long BI_RLE4 = 2;
    public static long BI_BITFIELDS = 3;
    public static long BI_JPEG = 4;
    public static long BI_PNG = 5;
    public static long BI_ALPHABITFIELDS = 6;
    //siempre es de 40
    public static long HEADER_SZ = 40;

    ;
    private long width;
    private long height;
    private int nplanes;
    private int bitspp;
    private long compress_type;
    private long bmp_bytesz;
    private long hres;
    private long vres;
    private long ncolors;
    private long nimpcolors;
    //aun no implementado
    ICCColorProfile icccprofile;

    //por defecto la defino monocromatica
    public BitmapV5InfoHeader() {
        width = 0;
        height = 0;
        nplanes = 1;
        //tambien conocido como n cuando el numero de colores es 2^n
        bitspp = 1;
        compress_type = BI_RGB;
        bmp_bytesz = 0;
        hres = 0;
        vres = 0;
        ncolors = 0;
        nimpcolors = 0;
        icccprofile = null;
    }
    public BitmapV5InfoHeader(long header_sz, long width, long height, int nplanes, int bitspp, long compress_type, long bmp_bytesz, long hres, long vres, long ncolors, long nimpcolors) {
        this.HEADER_SZ = header_sz;
        this.width = width;
        this.height = height;
        this.nplanes = nplanes;
        this.bitspp = bitspp;
        this.compress_type = compress_type;
        this.bmp_bytesz = bmp_bytesz;
        this.hres = hres;
        this.vres = vres;
        this.ncolors = ncolors;
        this.nimpcolors = nimpcolors;
        icccprofile = null;
    }
    public long getCompress_type() {
        return compress_type;
    }
    public void setHeight(long height) {
        this.height = height;
    }
    public long getHres() {
        return hres;
    }
    public ICCColorProfile getIcccprofile() {
        return icccprofile;
    }
    public void setIcccprofile(ICCColorProfile icccprofile) {
        this.icccprofile = icccprofile;
    }
    public long getNcolors() {
        return ncolors;
    }
    public long getNimpcolors() {
        return nimpcolors;
    }
    public int getNplanes() {
        return nplanes;
    }
    public long getVres() {
        return vres;
    }
    @Override
    public void setNplanes(int nplanes) {
        this.nplanes = nplanes;

    }
    @Override
    public void setBitspp(int bitspp) {
        this.bitspp = bitspp;
    }
    @Override
    public void setCompress_type(long compress_type) {
        this.compress_type = compress_type;
    }
    @Override
    public void setBmp_bytesz(long bmp_bytesz) {
        this.bmp_bytesz = bmp_bytesz;
    }
    @Override
    public long getBmp_bytesz() {
        return this.bmp_bytesz;
    }
    @Override
    public void setHres(long hres) {
        this.hres = hres;
    }
    @Override
    public void setVres(long vres) {
        this.vres = vres;
    }
    @Override
    public void setNcolors(long ncolors) {
        this.ncolors = ncolors;
    }
    @Override
    public void setNimpcolors(long nimpcolors) {
        this.nimpcolors = nimpcolors;
    }
    @Override
    public int getBitspp() {
        return bitspp;
    }
    @Override
    public long getHeight() {
        return height;
    }
    @Override
    public long getWidth() {
        return width;
    }
    @Override
    public void setWidth(long width) {
        this.width = width;
    }
}
